Embodiments of the present invention relate generally to reporting information stored in a repository and more particularly to dynamically reporting information stored in a repository based on a set of metadata.
Data stored in one or more data repositories is frequently requested for viewing or other use. For example, one or more queries, such as Structured Query language (SQL) queries can be run on the data in the repositories and a report can be generated to display or print the results. In some cases, these processes can be initiated and/or displayed through a web-based application. That is, a user can be presented with a webpage through which a report can be requested and results can be viewed.
The traditional approach to reporting information in a repository is to create a graphic user interface such as a web page for each report and to switch among those user interfaces on the user's demand. That is, the user is presented with a series of static, pre-defined queries and reports from which to choose. If the user wants a different set of queries or a different report, a new page for that report needs to be coded before it can be used.
However, this traditional approach has several problems. For example, this approach does not scale well, it is hard to maintain, it is expensive resource-wise, and it can be slow to switch reports at runtime. These difficulties are especially true with web applications. Dynamic reporting software, i.e., reporting software that can dynamically vary the queries to be executed and the format of reports to be generated based on the needs or preferences of the user, has been difficult to build. Hence, there is a need for methods and systems that provide for dynamically reporting information stored in a repository.